package gvalidator

import (
	"wzgames/pkg/utils/dateutil"
	"wzgames/pkg/utils/stringutil"
)

func IsAgentKey(str string) bool {
	if len(str) == 0 {
		return false
	}
	return reAgentKey.MatchString(str)
}

func IsAvailableDevice(str string) bool {
	if len(str) == 0 {
		return false
	}
	return reDevice.MatchString(str)
}

func IsAlpha(str string) bool {
	if len(str) == 0 {
		return false
	}
	return reAlpha.MatchString(str)
}

func IsAlphaNumeric(str string) bool {
	if len(str) == 0 {
		return false
	}
	return reAlphaNumeric.MatchString(str)
}

func IsNumeric(str string) bool {
	if len(str) == 0 {
		return false
	}
	return reNumeric.MatchString(str)
}

func IsAmount(str string) bool {
	if len(str) == 0 {
		return false
	}
	return reAmount.MatchString(str)
}

func IsAgentUid(str string) bool {
	if len(str) == 0 {
		return false
	}
	return reAgentUid.MatchString(str)
}

func IsAgentUname(str string) bool {
	if len(str) == 0 {
		return false
	}
	return reAgentUname.MatchString(str)
}

func IsInt(str string) bool {
	if len(str) == 0 {
		return false
	}
	return reInt.MatchString(str)
}

func CheckTimestamp(stamp string) bool {
	t, _ := stringutil.ToInt64(stamp, 0)
	now := dateutil.UnixSecs()
	if t <= 0 || t > now || now-t > 120 {
		return false
	}

	return true
}

func IsAlphaNumeric1(str string) bool {
	if len(str) == 0 {
		return false
	}
	return reAlphaNumeric1.MatchString(str)
}
